Update-Programs Can Update Programs
نویسندگان
چکیده
In the recent literature the issue of program change via updating rules (also known as revision rules) has been reduced to the issue of obtaining a new set of models, by means of the update rules, from each of the models of an initial program. Any program whose models are exactly the new set of models will count as an update of the original program. Following the classical approaches to theory updating, it is of course essential to start by specifying precisely how a program's models are to change, before even attempting to specify program change. But to stop there is to go only halfway. Another limitation of existing approaches to logic program updating concerns their not dealing with 3-valuedness, i.e. with partial models. The limitation is twofold: on the one hand, only programs under 2-valued semantics are approachable; on the other, when there are contradictory update rules, in lieu of leaving undeened the eeects of the contradictory rules and keeping those of the others, no update is possible at all. In this paper, we generalize the notion of justiied update to partial (or 3-valued) interpretations and expound a correct transformation on normal programs which, from an initial program, produces another program whose models enact the required change in the initial program's models, as speciied by the update rules. Forthwith, we generalize our approach to logic programs as well as update programs extended with explicit negation.
منابع مشابه
Type-Safe Update Programming
Many software maintenance problems are caused by using text editors to change programs. A more systematic and reliable way of performing program updates is to express changes with an update language. In particular, updates should preserve the syntaxand typecorrectness of the transformed object programs. We describe an update calculus that can be used to update lambdacalculus programs. We develo...
متن کاملAn update calculus for expressing type-safe program updates
The dominant share of software development costs is spent on software maintenance, particularly the process of updating programs in response to changing requirements. Currently, such program changes tend to be performed using text editors, an unreliable method that often causes many errors. In addition to syntax and type errors, logical errors can be easily introduced since text editors cannot ...
متن کاملPrograms Are Abstract Data Types
We propose to view programs as abstract data types and to perform program changes by applying well-defined operations on programs. The ADT view of programs goes beyond the approach of syntax-directed editors and proofeditors since it is possible to combine basic update operations into larger update programs that can be stored and reused. It is crucial for the design of update operations and the...
متن کاملProgramming with Logical Queries, Bulk Updates, and Hypothetical Reasoning
This paper presents a language of update programs that integrates logical queries, bulk updates and hypothetical reasoning in a seamless manner. There is no syntactic or semantic distinction between queries and updates. Update programs extend logic programs with negation in both syntax and semantics. Users can specify bulk updates in which an arbitrary update is applied simultaneously for all a...
متن کاملCadmium toxicity and treatment: An update
Cadmium poisoning has been reported from many parts of the world. It is one of the global health problems that affect many organs and in some cases it can cause deaths annually. Long-term exposure to cadmium through air, water, soil, and food leads to cancer and organ system toxicity such as skeletal, urinary, reproductive, cardiovascular, central and peripheral nervous, and respiratory systems...
متن کاملSpecifying Update Policies for Nonmonotonic Knowledge Bases
Recently, several approaches for updating knowledge bases represented as logic programs have been proposed. We present a generic framework for declarative specifications of update policies, which is built upon such approaches. It extends the LUPS language for update specifications, and incorporates the notion of events into the framework. An update policy allows an agent to flexibly react upon ...
متن کامل